home *** CD-ROM | disk | FTP | other *** search
/ Ahoy 1987 June / Ahoy_Magazine_87-06_1987_Double_L.d64 / dir 1 (.txt) < prev    next >
Commodore BASIC  |  2022-10-26  |  10KB  |  296 lines

  1. 30 rem********************************
  2. 32 rem*         menu program         *
  3. 34 rem*          designed by         *
  4. 36 rem*       double l software      *
  5. 38 rem* (c) 1987 all rights reserved *
  6. 40 rem********************************
  7. 50 poke53265,peek(53265)and239
  8. 60 clr:gosub4000
  9. 80 dim p$(25),in$(25,5):gosub5000
  10. 100 poke53280,0:poke53281,0:printchr$(14):gosub2500:gosub5900
  11. 120 gosub800:poke53265,peek(53265)or16
  12. 140 h=1:g=0:l=8:lc=55590:p=8
  13. 150 fori=8to19:g=g+1:printleft$(l$,i)tab(14)"[154]"p$(g):next
  14. 204 f=len(p$(h)):fori=0tof:pokelc+i,7:next:gosub1000
  15. 205 printleft$(l$,p)tab(10)pt$
  16. 206 getan$:ifan$=""then206
  17. 208 ifan$=chr$(17)then1250
  18. 210 ifan$=chr$(145)then1300
  19. 215 ifan$=chr$(13)then2000
  20. 220 ifan$=chr$(32)andg=>24thengosub3000:goto140
  21. 222 ifan$=chr$(32)thengosub3000:h=13:lc=55590:p=8:goto150
  22. 225 goto204
  23. 230 print"[147]";:poke53280,0:poke53281,6
  24. 235 print"[158][204]oading...";chr$(34);p$(h)chr$(34);""
  25. 240 print "load";chr$(34);p$(h);chr$(34);",8"
  26. 250 print "run":print "[145][145][145][145][145][145][145][145][145]"
  27. 260 poke 631,13:poke 632,13:poke 198,2:end
  28. 800 print"[147]":printleft$(l$,2)tab(2)"[158][176][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][174]"
  29. 810 printleft$(l$,3)tab(2)"[158][221]  [154][176][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][174][158]  [221]"
  30. 820 fori=1to16:printtab(2)"[221]  [154][221]                            [221][158]  [221]":next
  31. 830 printleft$(l$,20)tab(2)"[221]  [154][173][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][189][158]  [221]"
  32. 835 printleft$(l$,21)tab(2)"[158][173][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][189]"
  33. 840 printleft$(l$,22)tab(1)"[155][176][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][174]"
  34. 850 printleft$(l$,23)tab(1)"[221] [158][195]rsr[155]=[211]elect  [211]pc[155]=[205]ore  [150][195]/[210][155]=[197]xecute [221]"
  35. 860 printleft$(l$,24)tab(1)"[173][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][189]"
  36. 870 printleft$(l$,4)tab(10)"[176][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][174]"
  37. 880 printtab(10)"[221] [205] [193] [201] [206]  [205] [197] [206] [213] [221]"
  38. 890 printtab(10)"[173][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][189]"
  39. 900 return
  40. 1000 s=54272:pokes+23,0:pokes+24,15
  41. 1010 pokes+6,0:pokes+5,12:pokes+1,70:pokes+3,40
  42. 1020 pokes+4,0:pokes+4,65:ford=1to100:next:pokes+4,0:return
  43. 1250 printleft$(l$,p)tab(10)"[154]  ":fori=0tof:pokelc+i,14:next
  44. 1260 h=h+1:ifh>gthenh=h-12
  45. 1262 p=p+1:ifp>19thenp=8
  46. 1265 lc=lc+40:iflc>56030thenlc=55590
  47. 1270 goto204
  48. 1300 printleft$(l$,p)tab(10)"[154]  ":fori=0tof:pokelc+i,14:next
  49. 1310 h=h-1:ifh<g-11thenh=h+12
  50. 1312 p=p-1:ifp<8thenp=19
  51. 1315 lc=lc-40:iflc<55590thenlc=56030
  52. 1320 goto204
  53. 1550 sys828
  54. 1560 printleft$(l$,13)tab(4)"[176][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][174]"
  55. 1570 printleft$(l$,14)tab(4)"[221] [212]his is a 128 [208]rogram.[201]t may [221]"
  56. 1580 printleft$(l$,15)tab(4)"[221] not be loaded in the 64 mode.[221]"
  57. 1590 printleft$(l$,16)tab(4)"[221] [217]ou must switch to the 128   [221]"
  58. 1600 printleft$(l$,17)tab(4)"[221] mode in order to load this   [221]"
  59. 1610 printleft$(l$,18)tab(4)"[221] program successfully. [213]se the[221]"
  60. 1620 printleft$(l$,19)tab(4)"[221] prescribed method which is...[221]"
  61. 1630 printleft$(l$,20)tab(4)"[221] [196][204]oad ''[208]rogname''           [221]"
  62. 1640 printleft$(l$,21)tab(4)"[221]       [158][[208]ress any [203]ey]        [221]"
  63. 1650 printleft$(l$,22)tab(4)"[173][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][189]"
  64. 1660 printleft$(l$,23)tab(3)"[155]                                  ":gosub1000
  65. 1670 getan$:ifan$=""then1670
  66. 1680 sys882:goto225
  67. 1997 rem **************************
  68. 1998 rem ****  window routine  ****
  69. 1999 rem **************************
  70. 2000 sys828
  71. 2010 printleft$(l$,5)tab(11)"[176][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][174]"
  72. 2030 printleft$(l$,6)tab(11)"[221][211]ee [201]nstructions[221]"
  73. 2040 printleft$(l$,7)tab(11)"[221][210]un [208]rogram     [221]"
  74. 2050 printleft$(l$,8)tab(11)"[221][195]ancel [215]indow   [221]"
  75. 2060 printleft$(l$,9)tab(11)"[173][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][189]"
  76. 2070 po=55507:x=0
  77. 2080 fori=1to16:pokepo+i,1:next:gosub1000
  78. 2090 getan$:ifan$=""then2090
  79. 2100 ifan$=chr$(17)thengosub2200:po=po+40:x=x+1:ifpo>55587thenpo=55507
  80. 2110 ifx>2thenx=0
  81. 2120 ifan$=chr$(13)then2140
  82. 2130 goto2080
  83. 2140 ifx=0thensys882:goto4100
  84. 2145 ifx=2then2160
  85. 2146 ifh=3orh=4orh=5orh=8orh=9orh=12orh=17orh=19thensys882:goto1550
  86. 2159 ifx=1thensys882:goto230
  87. 2160 sys882:goto225
  88. 2200 fori=1to16:pokepo+i,5:next:return
  89. 2500 p$(1)="[198]lankspeed"
  90. 2510 p$(2)="64 [194]ug [210]ep [201][201]"
  91. 2520 p$(3)="128 [194]ug [210]ep ii"
  92. 2530 p$(4)="wraiths"
  93. 2540 p$(5)="galactic cab co."
  94. 2550 p$(6)="[208]ower [211]quares"
  95. 2560 p$(7)="[195]ave [207]f [201]ce [193]pe"
  96. 2570 p$(8)="128 multi ram"
  97. 2580 p$(9)="alt-key 128"
  98. 2590 p$(10)="[202]iffies"
  99. 2600 p$(11)="64 [211]witch [194]ounce"
  100. 2610 p$(12)="128switch bounce"
  101. 2615 p$(13)="[208]arm [208]ass"
  102. 2620 p$(14)="[208]arm [208]ass 2"
  103. 2630 p$(15)="[195]rafty [195]omp"
  104. 2640 p$(16)="[195]rafty [195]omp 2"
  105. 2650 p$(17)="alpha sprite"
  106. 2660 p$(18)="[193]lpha [211]prite"
  107. 2670 p$(19)="alpha sprite 2"
  108. 2690 p$(20)="[205]ax [211]quare"
  109. 2700 p$(21)="[196]-[211]nap"
  110. 2710 p$(22)=""
  111. 2720 p$(23)=""
  112. 2730 p$(24)=""
  113. 2740 return
  114. 3000 forcl=8to19:printleft$(l$,cl)tab(14)"[154]                ":next
  115. 3010 printleft$(l$,p)tab(10)"[154]  ":return
  116. 4000 poke657,128:rem disable shift/com key
  117. 4010 poke775,200:rem disable listing
  118. 4020 poke808,234:rem disable stop/restore
  119. 4030 l$="":pt$="[154]=>":return
  120. 4100 sys828
  121. 4110 printleft$(l$,8)tab(1)"[159][176][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][174]"
  122. 4120 fori=9to14:printleft$(l$,i)tab(1)"[221]                                    [221]"
  123. 4125 next
  124. 4130 printleft$(l$,15)tab(1)"[221]   [158][[195]/[210]=[195]ancel * [211]pc=[210]un [208]rogram][159]   [221]"
  125. 4140 printleft$(l$,16)tab(1)"[173][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][189]"
  126. 4145 printleft$(l$,23)tab(3)"[155]                                  ":gosub1000
  127. 4150 fori=1to5:printleft$(l$,8+i)tab(3)"[159]"in$(h,i):next
  128. 4160 getan$:ifan$=""then4160
  129. 4170 ifan$=chr$(13)thensys882:goto204
  130. 4180 ifh=3orh=4orh=5orh=8orh=9orh=12orh=17orh=19thensys882:goto1550
  131. 4190 ifan$=chr$(32)thensys882:goto230
  132. 4200 goto4160
  133. 5000 fori=828to935:reada:pokei,a:next:return
  134. 5010 data 160,0,185,0,4,153,0,192
  135. 5020 data 185,0,216,153,240,195,185,250
  136. 5030 data 4,153,250,192,185,250,216,153
  137. 5040 data 234,196,185,244,5,153,244,193
  138. 5050 data 185,244,217,153,228,197,185,238
  139. 5060 data 6,153,238,194,185,238,218,153
  140. 5070 data 222,198,200,208,205,96,160,0
  141. 5080 data 185,0,192,153,0,4,185,240
  142. 5090 data 195,153,0,216,185,250,192,153
  143. 5100 data 250,4,185,234,196,153,250,216
  144. 5110 data 185,244,193,153,244,5,185,228
  145. 5120 data 197,153,244,217,185,238,194,153
  146. 5130 data 238,6,185,222,198,153,238,218
  147. 5140 data 200,208,205,96
  148. 5799 rem ---------------------------
  149. 5800 rem ** max of 33 chrs in length **
  150. 5801 rem ---------------------------
  151. 5900 fori=1to24:forx=1to5:readin$(i,x):next:next:return
  152. 5999 rem program #1
  153. 6000 data "[212]his is [193]hoy!'s [205]achine [204]anguage "
  154. 6001 data "entry program for our adventurous"
  155. 6002 data "readers who like to type in the"
  156. 6003 data "programs from our magazine."
  157. 6004 data " "
  158. 6009 rem program #2
  159. 6010 data "[193]hoy!'s checksum program, for mis-"
  160. 6011 data "takeproof typing of [195]-64 [194][193][211][201][195]    "
  161. 6012 data "programs printed in [193]hoy!. ([198]or    "
  162. 6013 data "programs published from [205]ay 1987 "
  163. 6014 data "only! [207]therwise use 64 [194]ug [210]ep.)
  164. 6019 [143] program #3
  165. 6020 [131] "atnhoy!'s checksum program, for mis- "
  166. 6021 [131] "takeproof typing of len-128closepeekatn(NULL)right$len "
  167. 6022 [131] "programs printed in atnhoy! (ascor pro-"
  168. 6023 [131] "grams published from (NULL)ay 1987 only!"
  169. 6024 [131] "(NULL)therwise use 128 peekug (NULL)epellent.)"
  170. 6029 [143] program #4
  171. 6030 [131] "(NULL)raiths: a shoot-the-aliens, "
  172. 6031 [131] "whistles-and-bells arcade game for"
  173. 6032 [131] "the len-128 requiring the player to  "
  174. 6033 [131] "exterminate a malicious race of  "
  175. 6034 [131] "space-roaming lifeforms. (NULL)se (NULL)ort 2"
  176. 6039 [143] program #5
  177. 6040 [131] "chr$alactic lenab leno.: a difficult (NULL)unar"
  178. 6041 [131] "(NULL)ander-type game for the len-128 that"
  179. 6042 [131] "takes place inside a massive cavern"
  180. 6043 [131] "under the surface of a planet.    "
  181. 6044 [131] "mid$oystick in (NULL)ort 2.              "
  182. 6049 [143] program #6
  183. 6050 [131] "(NULL)ower (NULL)quares: a len-64 stategy game"
  184. 6051 [131] "requiring the player to push    "
  185. 6052 [131] "squares into a vacant area ahead "
  186. 6053 [131] "of his opponent (or computer in  "
  187. 6054 [131] "solotaire mode).                 "
  188. 6059 [143] program #7
  189. 6060 [131] "lenave of the right$ce atnpe: a len-64 game  "
  190. 6061 [131] "requiring the player to rescue   "
  191. 6062 [131] "(NULL)axine without being hit by one  "
  192. 6063 [131] "of the right$ce atnpe's snowballs.   "
  193. 6064 [131] "mid$oystick in (NULL)ort 1.        "
  194. 6069 [143] program #8
  195. 6070 [131] "128 multi ram: a utility making it "
  196. 6071 [131] "possible to split the len-128's (NULL)atn(NULL)"
  197. 6072 [131] "into four areas for keeping up to  "
  198. 6073 [131] "four programs in memory at one   "
  199. 6074 [131] "time.                           "
  200. 6079 [143] program #9
  201. 6080 [131] "atnlt-(NULL)ey 128:a program providing  "
  202. 6081 [131] "the len-128 with 37 additional user-"
  203. 6082 [131] "definable function keys, accessed"
  204. 6083 [131] "by pressing an alphanumeric char. "
  205. 6084 [131] "in tandem with the atn(NULL)(NULL) (NULL)ey.        "
  206. 6089 [143] program #10
  207. 6090 [131] "mid$iffies: a utility presented in   "
  208. 6091 [131] "support of this month's (NULL)upert (NULL)e- "
  209. 6092 [131]"port on (NULL)egaflops and (NULL)icroseconds"
  210. 6093 [131]", demonstrating how quickly peekasic"
  211. 6094 [131]"can respond to your joystick peekutton"
  212. 6099 [143] program #11
  213. 6100 [131]"64 (NULL)witch peekounce:a utility included"
  214. 6101 [131]"with this issue's (NULL)upert (NULL)eport on "
  215. 6102 [131]"(NULL)egaflops and (NULL)icroseconds, dis- "
  216. 6103 [131]"playing the switch contact status "
  217. 6104 [131]"each time the button is pressed"
  218. 6109 [143] program #12
  219. 6110 [131]"128 switch bounce: a 128 version   "
  220. 6111 [131]"of 64 (NULL)witch peekounce.              "
  221. 6112 [131]"                                   "
  222. 6113 [131]"                                  "
  223. 6114 [131]"                                  "
  224. 6119 [143] program #13
  225. 6120 [131]"(NULL)arm (NULL)ass: solution to the asceb-   "
  226. 6121 [131]"ruary '87 lenommodare, requiring a  "
  227. 6122 [131]"numeric variable between 0 and    "
  228. 6123 [131]"65535 to be defined in one program."
  229. 6124 [131]"                            "
  230. 6129 [143] program #14
  231. 6130 [131]"(NULL)arm (NULL)ass 2: another solution to   "
  232. 6131 [131]"(NULL)arm (NULL)ass.                       "
  233. 6132 [131]"                                 "
  234. 6133 [131]"                                  "
  235. 6134 [131]"                        "
  236. 6139 [143] program #15
  237. 6140 [131]"lenrafty lenomparison: solution to the"
  238. 6141 [131]"asceb.'87 lenommodare, requiring a prog"
  239. 6142 [131]"to determine the largest of four   "
  240. 6143 [131]"#'s without using any conditional, "
  241. 6144 [131]"comparison, or peekoolean statements."
  242. 6149 [143] program #16
  243. 6150 [131]"lenrafty lenomparison 2: another   "
  244. 6151 [131]"solution to lenrafty lenomparison.     "
  245. 6152 [131]"                                   "
  246. 6153 [131]"                                   "
  247. 6154 [131]"                                 "
  248. 6159 [143] program #17
  249. 6160 [131]"alpha sprite: solution to the asceb."
  250. 6161 [131]"'87 lenommodare, req. a 128 program  "
  251. 6162 [131]"to put a character onscreen, cap-"
  252. 6163 [131]"ture it,convert it to a sprite, and"
  253. 6164 [131]"magnify it 2 times high and wide. "
  254. 6169 [143] program #18
  255. 6170 [131]"atnlpha (NULL)prite: a len-64 solution to "
  256. 6171 [131]"alpha sprite.                  "
  257. 6172 [131]"                                "
  258. 6173 [131]"                                  "
  259. 6174 [131]"                                  "
  260. 6179 [143] program #19
  261. 6180 [131]"alpha sprite 2: another len-128    "
  262. 6181 [131]"solution to alpha sprite.         "
  263. 6182 [131]"                                  "
  264. 6183 [131]"                                  "
  265. 6184 [131]"                                  "
  266. 6189 [143] program #20
  267. 6190 [131]"(NULL)ax (NULL)quare: solution to the asceb.'87"
  268. 6191 [131]"lenommodare requiring a program to   "
  269. 6192 [131]"arrange digits 1-9 in a 3x3 square"
  270. 6193 [131]"such that the sum of the products of"
  271. 6194 [131]"the #'s in each row is a maximum."
  272. 6199 [143] program #21
  273. 6200 [131]"str$-(NULL)nap: a sector editor enabling "
  274. 6201 [131]"the len-64 user to modify and view   "
  275. 6202 [131]"any block of a standard chr$len(NULL)       "
  276. 6203 [131]"formatted diskette.               "
  277. 6204 [131]"                            "
  278. 6209 [143] program #22
  279. 6210 [131]"(NULL)ot (NULL)sed.....                    "
  280. 6211 [131]"                                 "
  281. 6212 [131]"                                 "
  282. 6213 [131]"                                "
  283. 6214 [131]"                            "
  284. 6219 [143] program #23
  285. 6220 [131]"(NULL)ot (NULL)sed.....                      "
  286. 6221 [131]"                                  "
  287. 6222 [131]"                                   "
  288. 6223 [131]"                                  "
  289. 6224 [131]"                               "
  290. 6229 [143] program #24
  291. 6230 [131]"(NULL)ot (NULL)sed.....                   "
  292. 6231 [131]"                                 "
  293. 6232 [131]"                                 "
  294. 6233 [131]"                                   "
  295. 6234 [131]"                             "
  296.